package com.jidolstar.astro.utils
{
	/**
	 * 천문상수 
	 * 
	 * @author Yongho, Ji
	 * @since 2009.03.27
	 */ 
	public class AstroConst
	{
		/**
		 * Pi
		 */ 		
		public static const PI:Number 			= 3.141592653589793238462643383279502884197;
		
		/**
		 * Pi * 2
		 */ 		
		public static const TPI:Number 			= 6.2831853071795864769252867665590;
		
		/**
		 * Half of PI
		 */ 
		public static const HPI:Number 			= 1.5707963267948966192313216916398;
		
		/**
		 * Math.sqrt(2);
		 */ 
		public static const SQRT2:Number 		= 1.4142135623730951;

		/**
		 * Radian -> Degree
		 */ 
		public static const R2D:Number 			= PI / 180.0;
		
		/**
		 * Degree -> Radian
		 */ 
		public static const D2R:Number 			= 180.0 / PI;
		
		/**
		 * Arc second -> Radian
		 */ 
		public static const S2R:Number 			= 4.8481368110953599359e-6;

		/**
		 * Radian -> Hours
		 */ 
		public static const R2H:Number 			= 3.8197186342054880584532103209403;

		/**
		 * Hours -> Radian
		 */ 
		public static const H2R:Number 			= 0.26179938779914943653855361527329;
		
		/**
		 * Degree -> Hour
		 */ 
		public static const D2H:Number 			= 1/15;

		/**
		 * Hour -> Degree
		 */ 
		public static const H2D:Number 			= 15;
		
		/**
		 * Astronomical Unit -> Kilometer
		 */ 
		public static const AU2KM:Number 		= 149597870.0; 
		
		/**
		 * 빛의 속도 
		 */ 
		public static const LIGHT_SPEED:Number 	= 173.14;
		
		/**
		 * 중력상수 (gravitational constant)
		 */ 
		public static const K_GAUSS:Number    	= 0.01720209895;  
		
		/**
		 * AU^3/d^2
		 */ 
		public static const GM_SUN:Number 		= K_GAUSS * K_GAUSS; 
		
		/**
		 * 지구 반지름 (km)
		 */ 
		public static const RADII_EARTH:Number 	= 6578.137;

		/**
		 * 태양 반지름 (km)
		 */ 
		public static const RADII_SUN:Number 	= 696000.0;

		/**
		 * 달의 반지름 (km)
		 */ 		
		public static const RADII_MOON:Number 	= 1738.0;
		
		/**
		 * 원기 J2000.0의 Modified Julian Date
		 */ 
		public static const MJD_J2000:Number 	= 51544.5;
		
		/**
		 * 원기 J2000.0의 Julian Date
 		 */
		public static const JD_J2000:Number 	= 2451545.0;
		
		/**
		 * 원기 B1950의 Julian Date
		 */ 
		public static const JD_B1950:Number 	= 2433282.423;
		
		/**
		 * Epoch J2000.0
		 */ 
		public static const T_J2000:Number 		= 0.0;
		
		/**
		 * Epoch B1950
		 */ 
		public static const T_B1950:Number		= -0.500002108; 

	}
}